<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <h2>测试axios返回的是否是Promise</h2>
    <script src="./lib/axios.js"></script>
    <script>
      // document.querySelector('h2').onclick = function () {
      //   const result = axios({
      //     url: 'http://ajax-api.itheima.net/api/news',
      //   })
      //   console.log('result:', result)
      // }

      // 原生Promise的写法
      // const p = new Promise(function (resolve, reject) {})
      // new Promise时传入的回调函数中的 2个参数
      //  resolve reject
      // Promise会传入2个具体的函数进来
      // 内部根据异步执行的结果 触发对应的函数 即可 -->成功/失败
      //  resolve   reject (形参) 名字可以改,但是建议别改
      const p = new Promise((resolve, reject) => {
        console.log('resolve:', resolve)
        console.log('reject:', reject)
        // 写异步的代码
        // 根据成功  resolve then
        setTimeout(() => {
          resolve('成功 ')
          reject('哎呀,失败')
        }, 1000)
        // 根据失败 reject catch
      })

      console.log('p:', p)
      // 只会触发一个
      p.then((res) => {
        console.log('res:', res)
      }).catch((err) => {
        console.log('err:', err)
      })
    </script>
  </body>
</html>
